﻿using System;

namespace SenetExperimentsRunner.Logic.Experiment
{
    [Serializable]
    class GameParameters
    {
        #region /// Private Members ///

        private int m_PlayerTurnNumber = 100;
        private double m_SecondsPerTurn = 2.0;
        private int m_SticksNumber = 6;
        private int m_SquaresNumber = 30;
        private int m_InitialPlayerPieces = 5;
        private int m_AdditionalSafeSquares = 0;
        private int m_AdditionalRebirthSquares = 0;
        private int m_RequiredDepth = 5;
        
        #endregion

        #region /// Public Properties ///

        public int PlayerTurnNumber
        {
            get { return m_PlayerTurnNumber; }
            set { m_PlayerTurnNumber = value; }
        }

        public double SecondsPerTurn
        {
            get { return m_SecondsPerTurn; }
            set { m_SecondsPerTurn = value; }
        }

        public int SticksNumber
        {
            get { return m_SticksNumber; }
            set { m_SticksNumber = value; }
        }

        public int SquaresNumber
        {
            get { return m_SquaresNumber; }
            set { m_SquaresNumber = value; }
        }

        public int InitialPlayerPieces
        {
            get { return m_InitialPlayerPieces; }
            set { m_InitialPlayerPieces = value; }
        }

        public int AdditionalSafeSquares
        {
            get { return m_AdditionalSafeSquares; }
            set { m_AdditionalSafeSquares = value; }
        }

        public int AdditionalRebirthSquares
        {
            get { return m_AdditionalRebirthSquares; }
            set { m_AdditionalRebirthSquares = value; }
        }

        public int RequiredDepth
        {
            get { return m_RequiredDepth; }
            set { m_RequiredDepth = value; }
        }

        #endregion
    }
}
